home *** CD-ROM | disk | FTP | other *** search
/ 10,000 Great Games / 10,000 Great Games.iso / Product / 66 / data1.cab / Source_Files / Src / Machine.cpp < prev    next >
C/C++ Source or Header  |  2000-01-16  |  740b  |  38 lines

  1. #include "stdafx.h"
  2.  
  3. cMachine::cMachine(int _x, int _y, cProperties *_orig)
  4.         : cWeapon(_x, _y, _orig, "MOVING")
  5.     not_spitting = 2 * sec + rnd(4 * sec);
  6.  
  7.     ASSERT(!machine_contents_list.is_empty());
  8.     ASSERT(orig->spot != 0);    
  9. }
  10.  
  11. cMachine::~cMachine()
  12. {
  13. }
  14.  
  15. int cMachine::control()
  16.     cWeapon::control();
  17.     
  18.     // Spit?
  19.     
  20.     if (!not_spitting)
  21.     {
  22.         int rx = pmrnd(32), ry = rnd(32);
  23.         
  24.         cRolling *r = new cRolling (x + rx + orig->spot->x, y + ry - orig->spot->y, machine_contents_list.get_random());
  25.         r->add_angular_speed(100, angle(rx, ry));
  26.         
  27.         new cEffect (x + rx, y + ry, orig, "SPIT");
  28.         
  29.         not_spitting = 2 * sec + rnd(4 * sec);
  30.     }
  31.     
  32.     // Check if still on screen
  33.     
  34.     return !below_screen();
  35. }
  36.